Transactions in ArangoDB

Database Tutorials - আরাঙ্গো (ArangoDB)
224
224

ArangoDB-তে Transactions হল এমন একটি প্রক্রিয়া যা ডেটাবেস অপারেশনগুলিকে নির্ভুল এবং নির্ভরযোগ্য করতে সাহায্য করে। এটি একাধিক অপারেশনকে একটি গ্রুপ হিসাবে একত্রে চালায় এবং নিশ্চিত করে যে সব অপারেশন সফল হলে ডেটাবেস আপডেট হবে। কোনো অপারেশন ব্যর্থ হলে পুরো ট্রানজ্যাকশন বাতিল করা হয়।


Transactions এর বৈশিষ্ট্য

  • Atomicity (অণুত্তমতা): সমস্ত অপারেশন হয় সফল হবে অথবা একটিও কার্যকর হবে না।
  • Consistency (সঙ্গতি): ডেটা সর্বদা একটি সঙ্গত অবস্থায় থাকে।
  • Isolation (পৃথকীকরণ): অন্যান্য ট্রানজ্যাকশন থেকে সম্পূর্ণ আলাদা।
  • Durability (স্থায়িত্ব): সফল ট্রানজ্যাকশনের ডেটা স্থায়ীভাবে সংরক্ষিত হয়।

কেন ArangoDB-তে Transactions ব্যবহার করবেন?

  1. মাল্টি-ডকুমেন্ট অপারেশন পরিচালনা করতে।
  2. ডেটার অখণ্ডতা (data integrity) বজায় রাখতে।
  3. ভুল অপারেশন প্রতিরোধ করতে।
  4. জটিল লজিক এবং কোয়েরি একত্রে চালাতে।

Transactions তৈরি এবং ব্যবহারের ধাপ

Step 1: JavaScript API দিয়ে ট্রানজ্যাকশন তৈরি

ArangoDB-এর JavaScript API ব্যবহার করে ট্রানজ্যাকশন পরিচালনা করা যায়।

db._executeTransaction({
  collections: {
    write: ["users", "orders"]
  },
  action: function () {
    const db = require("@arangodb").db;
    db.users.insert({ name: "John Doe", age: 30 });
    db.orders.insert({ product: "Laptop", price: 1500 });
  }
});
  • collections: এখানে যেসব কালেকশনে ডেটা যোগ/পরিবর্তন হবে তা নির্দিষ্ট করা হয়।
  • action: এটি একটি ফাংশন যা ট্রানজ্যাকশনের মধ্যে চালানো হয়।

Step 2: AQL দিয়ে ট্রানজ্যাকশন

AQL-এ TRANSACTION ব্যবহার করে ট্রানজ্যাকশন পরিচালনা করা যায়।

LET result = (
  FOR user IN users
    FILTER user.age > 25
    UPDATE user WITH { isActive: true } IN users
)
RETURN result

Step 3: Multi-Document Transactions

একাধিক ডকুমেন্ট বা কালেকশন একসঙ্গে পরিচালনা করতে:

db._executeTransaction({
  collections: {
    read: ["products"],
    write: ["orders"]
  },
  action: function () {
    const db = require("@arangodb").db;
    let product = db.products.firstExample({ name: "Laptop" });
    db.orders.insert({ productId: product._key, quantity: 1 });
  }
});

Error Handling

ট্রানজ্যাকশনের সময় কোনো ত্রুটি ঘটলে তা rollback হয়, অর্থাৎ কোনো পরিবর্তন কার্যকর হয় না।

try {
  db._executeTransaction({
    collections: { write: ["users"] },
    action: function () {
      const db = require("@arangodb").db;
      db.users.insert({ name: "Error Example" });
      throw new Error("Simulated Error");
    }
  });
} catch (err) {
  console.log("Transaction failed: " + err.message);
}

Transaction Logging এবং Debugging

ArangoDB তে ট্রানজ্যাকশন লগ করার জন্য ArangoDB Logs ব্যবহার করা যায়।

  • Performance Debugging: Execution Plan এবং Query Profiling ব্যবহার করে।
  • Error Tracking: ব্যর্থ ট্রানজ্যাকশন লগ সংগ্রহ করা।

উপকারিতা

  • ডেটার অখণ্ডতা বজায় থাকে।
  • মাল্টি-কালেকশন অপারেশন সহজ হয়।
  • ব্যর্থ হলে ডেটাবেস পূর্বাবস্থায় ফিরে আসে।
  • জটিল অপারেশন পরিচালনা করতে কার্যকর।

সারাংশ

ArangoDB-তে Transactions ব্যবহার করে মাল্টি-ডকুমেন্ট এবং মাল্টি-কালেকশন অপারেশন নির্ভরযোগ্যভাবে পরিচালনা করা যায়। এটি ডেটার সঠিকতা এবং নিরাপত্তা নিশ্চিত করে। ডেভেলপাররা JavaScript API বা AQL ব্যবহার করে ট্রানজ্যাকশন তৈরি করতে পারেন। Error Handling এবং Debugging সুবিধা ট্রানজ্যাকশন ব্যবস্থাপনাকে আরও কার্যকর করে তোলে।

common.content_added_by

Transaction কী এবং এর প্রয়োজনীয়তা

363
363

Transaction হলো একটি ডাটাবেস অপারেশনের সেট যা সম্পূর্ণ বা একত্রে সফল হওয়া উচিত। এক বা একাধিক ডেটাবেস কমান্ড একত্রে পরিচালিত হয়, এবং এর সবকটি সফল হলে ট্রানজেকশন সফল বলে বিবেচিত হয়। যদি কোনো একটিও কমান্ড ব্যর্থ হয়, তাহলে পুরো ট্রানজেকশনটি ব্যর্থ হিসাবে গণ্য হয় এবং ডেটাবেস পূর্বাবস্থায় ফিরে যায় (Rollback হয়)।

ArangoDB-তে Transaction ব্যবহার করে একাধিক Collection-এ একই সঙ্গে Atomicity, Consistency, Isolation, এবং Durability (ACID) বৈশিষ্ট্য নিশ্চিত করা যায়।


Transaction এর প্রয়োজনীয়তা

১. Atomicity

Transaction-এর সব অপারেশন একটি একক ইউনিট হিসেবে কাজ করে। যদি একটিও ব্যর্থ হয়, তাহলে পুরো Transaction ব্যর্থ বলে গণ্য হয় এবং Rollback করা হয়।

২. Consistency

Transaction-এর মাধ্যমে ডেটাবেস সবসময় একটি সঠিক অবস্থায় থাকে। একটি সফল Transaction ডেটাবেসের সামঞ্জস্য বজায় রাখে।

৩. Isolation

Transaction চলাকালীন অন্য কোনো Transaction তার কাজকে প্রভাবিত করতে পারে না। এটি ডেটার সঠিকতা এবং নির্ভুলতা নিশ্চিত করে।

৪. Durability

Transaction সফলভাবে সম্পন্ন হলে এর ডেটা স্থায়ীভাবে ডাটাবেসে সংরক্ষিত হয়, এমনকি সার্ভার ব্যর্থ হলেও।

৫. Multi-Collection Operation

একাধিক Collection-এর উপর একত্রে অপারেশন পরিচালনার জন্য Transaction অপরিহার্য। এটি নিশ্চিত করে যে সব Collection-এ পরিবর্তন একই সঙ্গে সম্পন্ন বা বাতিল হবে।


ArangoDB-তে Transaction কিভাবে কাজ করে?

ArangoDB-তে Transaction পরিচালনার জন্য JavaScript API, AQL এবং HTTP API ব্যবহার করা হয়।


Transaction এর উদাহরণ

Single-Collection Transaction

db._executeTransaction({
    collections: {
        write: ["my_collection"]
    },
    action: function () {
        var db = require('@arangodb').db;
        db.my_collection.save({ name: "John Doe", age: 30 });
        db.my_collection.update({ name: "John Doe" }, { age: 31 });
    }
});

ব্যাখ্যা:

  • my_collection-এ Transaction পরিচালিত হচ্ছে।
  • ডেটা সেভ এবং আপডেট করা হয়েছে একই Transaction-এর মধ্যে।

Multi-Collection Transaction

db._executeTransaction({
    collections: {
        write: ["collection1", "collection2"]
    },
    action: function () {
        var db = require('@arangodb').db;
        db.collection1.save({ name: "Alice" });
        db.collection2.save({ product: "Laptop", price: 1000 });
    }
});

ব্যাখ্যা:

  • collection1 এবং collection2-এ ডেটা একত্রে Transaction-এর মাধ্যমে পরিচালিত হয়েছে।

Transaction-এ ACID Properties

  1. Atomicity: সব কমান্ড সফল হলে Transaction সফল হয়।
  2. Consistency: Transaction ডেটাবেসকে সঠিক অবস্থায় রাখে।
  3. Isolation: এক Transaction অন্য Transaction থেকে আলাদা থাকে।
  4. Durability: Transaction সফল হলে ডেটা স্থায়ী হয়।

Rollback এর উদাহরণ

db._executeTransaction({
    collections: {
        write: ["my_collection"]
    },
    action: function () {
        var db = require('@arangodb').db;
        try {
            db.my_collection.save({ name: "Invalid Data" });
            throw "Manual Error";
        } catch (err) {
            // Rollback হবে
        }
    }
});

ব্যাখ্যা:

  • Transaction-এর মধ্যে কোনো ত্রুটি ঘটলে পুরো অপারেশন বাতিল হবে।

Transaction এর সুবিধা

  1. ডেটার নির্ভুলতা: Rollback-এর মাধ্যমে ত্রুটিপূর্ণ ডেটা প্রতিরোধ।
  2. মাল্টি-স্টেপ অপারেশন: একাধিক স্টেপ একত্রে পরিচালনা করা।
  3. ডেটা সমন্বয়: ডাটাবেসের সামঞ্জস্যতা বজায় রাখা।
  4. নির্ভরযোগ্যতা: ডেটা নিরাপদ রাখা এবং ত্রুটির ঝুঁকি হ্রাস।

সারাংশ

Transaction ডাটাবেস অপারেশন পরিচালনার একটি গুরুত্বপূর্ণ পদ্ধতি, যা ডেটার সঠিকতা, নির্ভুলতা এবং নিরাপত্তা নিশ্চিত করে। ArangoDB-তে Transaction ব্যবহার করে Multi-Collection Operations, ACID বৈশিষ্ট্য, এবং Rollback-এর মতো সুবিধা পাওয়া যায়। এটি ডেভেলপারদের জন্য একটি অপরিহার্য টুল।

common.content_added_by

Multi-document এবং Multi-collection Transaction

233
233

ArangoDB-তে Transaction একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা একাধিক ডকুমেন্ট এবং কালেকশন জুড়ে ডেটা সংশোধন বা প্রসেস করার সময় ACID (Atomicity, Consistency, Isolation, Durability) গুণাবলী নিশ্চিত করে। Multi-document এবং Multi-collection Transaction ব্যবহার করে ডেভেলপাররা জটিল ডেটাবেস অপারেশন সম্পাদন করতে পারেন।


Transaction কী এবং কেন প্রয়োজন?

  • Transaction ডেটাবেস অপারেশনের একটি গ্রুপ, যা সমস্ত অপারেশন সফল না হলে সম্পূর্ণরূপে বাতিল হয়।
  • এটি ডেটার Consistency বজায় রাখে।
  • Multi-document এবং Multi-collection Transaction জটিল ডেটাবেস অপারেশনগুলো সহজ এবং সুরক্ষিত করে।

Multi-document Transaction উদাহরণ

একাধিক ডকুমেন্টে Transaction

একই Collection-এর মধ্যে একাধিক ডকুমেন্ট সংশোধন করার জন্য Transaction ব্যবহার:

let db = require('@arangodb').db;

db._executeTransaction({
  collections: {
    write: 'my_collection'
  },
  action: function () {
    let col = db._collection('my_collection');
    col.update('doc1', { status: 'processed' });
    col.update('doc2', { status: 'processed' });
  }
});

Multi-collection Transaction উদাহরণ

একাধিক Collection-এ Transaction

একাধিক Collection-এ ডেটা সংশোধন বা যোগ করার জন্য:

let db = require('@arangodb').db;

db._executeTransaction({
  collections: {
    write: ['collection1', 'collection2']
  },
  action: function () {
    let col1 = db._collection('collection1');
    let col2 = db._collection('collection2');

    col1.save({ _key: 'doc1', name: 'Item 1', status: 'active' });
    col2.save({ _key: 'doc2', related_to: 'doc1', status: 'linked' });
  }
});

Transaction এর মূল উপাদান

  1. Collections:
    • write: যেখানে Transaction ডেটা পরিবর্তন করবে।
    • read: শুধুমাত্র পড়ার জন্য ব্যবহৃত।
  2. Action Function:
    • Transaction এর মধ্যে কার্যকর করা কোড।
  3. Rollback:
    • যদি Transaction ব্যর্থ হয়, তাহলে সমস্ত পরিবর্তন পূর্বাবস্থায় ফিরে যাবে।

ACID গুণাবলী নিশ্চিত করা

  • Atomicity: Transaction-এর সব অপারেশন একত্রে সফল বা ব্যর্থ হবে।
  • Consistency: ডেটাবেস সর্বদা বৈধ অবস্থায় থাকবে।
  • Isolation: Transaction চলাকালীন অন্য Transaction এর প্রভাব থেকে মুক্ত।
  • Durability: Transaction সফল হলে ডেটা স্থায়ীভাবে সংরক্ষিত হবে।

Nested Transaction সমর্থন

ArangoDB-তে একাধিক Transaction নেস্ট করে ব্যবহার করা যায় না। প্রতিটি Transaction স্বতন্ত্র হতে হবে।


Transaction এর সময় সতর্কতা

  • Transaction চলাকালীন বড় ডেটাসেটে পারফরম্যান্স সমস্যা হতে পারে।
  • সম্ভাব্য ডেডলকের ঝুঁকি এড়ানোর জন্য ডেটা অ্যাক্সেসের সঠিক ক্রম বজায় রাখুন।

Performance Optimization

  1. Index ব্যবহার: Transaction চলাকালীন দ্রুত ডেটা অ্যাক্সেসের জন্য।
  2. ছোট Transaction রাখুন: বড় Transaction পারফরম্যান্সে প্রভাব ফেলতে পারে।
  3. Partitioning: বড় ডেটাবেসে কার্যকরভাবে ডেটা বিভক্ত করুন।

সারাংশ

Multi-document এবং Multi-collection Transaction ডেটাবেস অপারেশনগুলোকে নিরাপদ এবং কার্যকর করে। এটি ডেটার সঠিকতা বজায় রাখে এবং ডেভেলপারদের জটিল ডেটা ম্যানিপুলেশন সহজতর করতে সহায়তা করে। তবে সঠিক অপ্টিমাইজেশনের মাধ্যমে Transaction এর কার্যকারিতা নিশ্চিত করা গুরুত্বপূর্ণ।

common.content_added_by

AQL তে Transaction ব্যবহার

235
235

ArangoDB-তে Transaction এমন একটি পদ্ধতি যা মাল্টি-ডকুমেন্ট বা মাল্টি-কালেকশন অপারেশন সুনির্দিষ্ট এবং নিরাপদভাবে পরিচালনা করতে সহায়তা করে। AQL-এ Transaction ব্যবহার করে আপনি ডেটা সংশোধন বা আপডেটের সময় ডেটার সঙ্গতি (Consistency) এবং নির্ভুলতা নিশ্চিত করতে পারেন।


Transaction এর মূল ধারণা

Transaction মানে একটি নির্দিষ্ট কার্যক্রমের সেট যা সম্পূর্ণ বা একত্রে ব্যর্থ হয়। এটি ACID (Atomicity, Consistency, Isolation, Durability) বৈশিষ্ট্য মেনে চলে।
যদি একটি Transaction ব্যর্থ হয়, তবে এর প্রতিটি পরিবর্তন রোলব্যাক (Rollback) হয়, অর্থাৎ পূর্বের অবস্থায় ফিরে যায়।


AQL-এ Transaction ব্যবহারের প্রক্রিয়া

১. Transaction শুরু করা

Transaction একটি জাভাস্ক্রিপ্ট অবজেক্টের মাধ্যমে চালানো হয়, যা AQL কোয়েরি ধারণ করে।

২. Transaction এর জন্য কালেকশন নির্ধারণ করা

Transaction চালানোর আগে কোন Collection গুলোতে কাজ হবে তা নির্ধারণ করতে হয়।

৩. Transaction কোয়েরি সম্পাদন করা

Transaction এর মধ্যবর্তী কোয়েরিগুলো একত্রে চালানো হয়।


উদাহরণ: AQL-এ Transaction

১. একটি Basic Transaction

db._executeTransaction({
  collections: {
    write: ["Products", "Orders"]
  },
  action: function () {
    const db = require('@arangodb').db;

    // Order তৈরি করা
    db.Orders.insert({
      productId: "12345",
      quantity: 2,
      status: "Pending"
    });

    // Product স্টকের সংখ্যা হালনাগাদ করা
    db.Products.update("12345", { stock: 10 });
  }
});

এখানে:

  • Collections: Products এবং Orders কালেকশন Transaction-এর অংশ।
  • Insert এবং Update: নতুন অর্ডার যোগ করা এবং পণ্যের স্টক হালনাগাদ করা।
  • যদি কোয়েরির মধ্যে কোনো একটি ব্যর্থ হয়, তাহলে সব পরিবর্তন বাতিল হবে।

২. Transaction-এ AQL ব্যবহার

db._executeTransaction({
  collections: {
    read: ["Users"],
    write: ["Payments"]
  },
  action: function () {
    const db = require('@arangodb').db;
    const query = `
      FOR user IN Users
        FILTER user.status == 'Active'
        INSERT {
          userId: user._key,
          amount: 100,
          status: 'Paid'
        } INTO Payments
    `;
    db._query(query);
  }
});

এখানে:

  • Read Collections: Users থেকে ডেটা পড়া।
  • Write Collections: Payments এ নতুন ডেটা যোগ করা।
  • AQL কোয়েরি: Active ব্যবহারকারীদের জন্য পেমেন্ট এন্ট্রি তৈরি করা।

৩. Multi-Document Transaction

db._executeTransaction({
  collections: {
    write: ["Accounts", "Transactions"]
  },
  action: function () {
    const db = require('@arangodb').db;

    // Accounts থেকে টাকা ডেবিট করা
    db.Accounts.update("account1", { balance: db.Accounts.document("account1").balance - 500 });

    // Accounts এ টাকা ক্রেডিট করা
    db.Accounts.update("account2", { balance: db.Accounts.document("account2").balance + 500 });

    // Transactions এ লেনদেনের তথ্য সংরক্ষণ
    db.Transactions.insert({
      from: "account1",
      to: "account2",
      amount: 500,
      status: "Success"
    });
  }
});

Transaction ব্যবহারের সুবিধা

ডেটার সঙ্গতি (Consistency)

  • একাধিক ডকুমেন্ট বা কালেকশন সংশোধনের সময় ডেটার নির্ভুলতা নিশ্চিত করে।

Atomicity

  • সমস্ত কাজ সফলভাবে সম্পন্ন হলে তবেই Transaction সম্পন্ন হয়; অন্যথায় পূর্বের অবস্থায় ফিরে যায়।

Concurrency

  • একাধিক Transaction এর মধ্যে সংঘর্ষ এড়িয়ে Isolation নিশ্চিত করে।

Error Handling

  • Transaction ব্যর্থ হলে পরিবর্তনসমূহ রোলব্যাক হয়।

Transaction Logging এবং Error Handling

Transaction এর সময় যদি কোনো ত্রুটি ঘটে, তাহলে এটি একটি Rollback ট্রিগার করে, এবং সমস্ত পরিবর্তন পূর্বের অবস্থায় ফিরে যায়।

উদাহরণ: Error Handling

try {
  db._executeTransaction({
    collections: { write: ["Orders"] },
    action: function () {
      const db = require('@arangodb').db;
      db.Orders.insert({ orderId: "123", status: "Pending" });
      throw "Manual Error"; // ইচ্ছাকৃত ত্রুটি
    }
  });
} catch (err) {
  console.error("Transaction ব্যর্থ হয়েছে:", err);
}

সারাংশ

AQL-এ Transaction ব্যবহার বড় এবং জটিল ডেটাবেজ অপারেশনের সময় ডেটার সঙ্গতি এবং নির্ভুলতা নিশ্চিত করে। এটি ACID বৈশিষ্ট্য মেনে চলে এবং ডেভেলপারদের ডেটা ম্যানেজমেন্ট আরও সহজ এবং নির্ভরযোগ্য করে তোলে। ArangoDB-তে Transaction ব্যবহার করে আপনি নিরাপদ এবং কার্যকর ডেটাবেজ অপারেশন করতে পারবেন।

common.content_added_by

Transaction Logging এবং Error Handling

242
242

ArangoDB তে Transaction Logging এবং Error Handling ডেটার সঠিকতা এবং নির্ভরযোগ্যতা নিশ্চিত করার জন্য গুরুত্বপূর্ণ। Transaction Logging ডাটাবেসে কার্যক্রমের একটি রেকর্ড তৈরি করে, যা সমস্যা সমাধান এবং ডিবাগিংয়ের জন্য ব্যবহৃত হয়। অন্যদিকে, Error Handling নিশ্চিত করে যে ত্রুটি মোকাবিলা করা হয়েছে এবং প্রয়োজন অনুযায়ী ব্যবস্থা নেওয়া হয়েছে।


Transaction Logging

Transaction Logging এর ধারণা

  • Transaction Logging হলো ডাটাবেসের প্রতিটি লেনদেন বা কার্যক্রমের একটি রেকর্ড রাখা।
  • এটি ডেটা সমন্বয়, ব্যাকআপ, এবং পুনরুদ্ধারে সহায়ক।

ArangoDB তে Transaction Logging কনফিগারেশন

ArangoDB তে লগিং সাধারণত Write-Ahead Logging (WAL) এর মাধ্যমে পরিচালিত হয়।

লগিং সক্ষম করা

ArangoDB তে লগিং ডিফল্টরূপে সক্ষম থাকে। তবে কাস্টম কনফিগারেশনের জন্য arangod.conf ফাইলে পরিবর্তন করতে পারেন:

[log]
level = info
output = file:///var/log/arangodb/arangod.log
  • level: লগ স্তর (info, debug, warning, error)।
  • output: লগ ফাইল সংরক্ষণের পথ।

Transaction লগিং দেখতে

আপনার ArangoDB লোগ ফাইলটি চেক করুন:

cat /var/log/arangodb/arangod.log

Transaction Logging এর সুবিধা

  1. অডিট ট্রেইল: প্রতিটি লেনদেনের ইতিহাস সংরক্ষণ।
  2. ডিবাগিং: সমস্যা সমাধানের জন্য কার্যক্রম পর্যবেক্ষণ।
  3. ডেটা পুনরুদ্ধার: লগ থেকে ডেটা পুনরুদ্ধার করা।

Error Handling

Error Handling এর মূলনীতি

  • ত্রুটির সনাক্তকরণ: ত্রুটি চিহ্নিত করা এবং সঠিক কোড ফেরত দেওয়া।
  • ব্যবস্থা গ্রহণ: ত্রুটি মোকাবিলার জন্য প্রয়োজনীয় কার্যক্রম।
  • ডেটা অখণ্ডতা রক্ষা: ত্রুটির কারণে ডেটা ক্ষতিগ্রস্ত হওয়া থেকে রক্ষা করা।

ArangoDB তে Transaction Error Handling

১. Error Handling এর জন্য Try-Catch ব্যবহার

AQL এবং ArangoDB SDK তে try-catch ব্লক ব্যবহার করে ত্রুটি মোকাবিলা করা যায়।

try {
  let result = db._query(`
    FOR doc IN myCollection
      FILTER doc.value > 100
      RETURN doc
  `);
  console.log(result);
} catch (err) {
  console.error("Error occurred:", err.message);
}

বর্ণনা:

  • try ব্লক সফলভাবে কোয়েরি চালানোর চেষ্টা করে।
  • যদি ত্রুটি ঘটে, catch ব্লক ত্রুটির বার্তা প্রদর্শন করে।

২. Transaction API তে Error Handling

let db = require("@arangodb").db;

try {
  db._executeTransaction({
    collections: {
      write: ["myCollection"]
    },
    action: function () {
      let collection = db._collection("myCollection");
      collection.insert({ key: "value" });
      throw "Simulated error"; // ত্রুটি ঘটানো
    }
  });
} catch (err) {
  console.error("Transaction failed:", err);
}

বর্ণনা:

  • action ফাংশনে লেনদেন পরিচালিত হয়।
  • ত্রুটি ঘটলে catch ব্লক তা সনাক্ত করে।

৩. ত্রুটির ধরন চিহ্নিত করা

ArangoDB বিভিন্ন ধরনের ত্রুটি কোড প্রদান করে।
উদাহরণ:

  • 1203: ডকুমেন্ট ইতিমধ্যে বিদ্যমান।
  • 404: কালেকশন বা ডকুমেন্ট পাওয়া যায়নি।
  • 409: কনফ্লিক্ট বা লক সমস্যা।
if (err.errorNum === 1203) {
  console.error("Document already exists!");
}

Transaction Logging এবং Error Handling এর সেরা চর্চা

  1. লগ স্তর নির্বাচন: অপ্রয়োজনীয় লগ এন্ট্রি এড়াতে info বা warning স্তর ব্যবহার করুন।
  2. ব্যতিক্রম পরিচালনা: ত্রুটি সম্পর্কে সুনির্দিষ্ট বার্তা তৈরি করুন।
  3. ডেটা ব্যাকআপ: ত্রুটি বা ডেটা ক্ষতির ক্ষেত্রে পুনরুদ্ধারের জন্য ব্যাকআপ রাখুন।
  4. লগ পর্যবেক্ষণ: নিয়মিত লগ পর্যবেক্ষণ করুন।

সারাংশ

Transaction Logging এবং Error Handling ডাটাবেসের ডেটা সুরক্ষা এবং নির্ভরযোগ্যতা বজায় রাখতে গুরুত্বপূর্ণ। ArangoDB তে লগিং এবং ত্রুটি পরিচালনা করার সহজ পদ্ধতি রয়েছে, যা ডেভেলপারদের কার্যক্রম পর্যবেক্ষণ এবং ত্রুটি মোকাবিলার সুযোগ প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion